package nonlinearstructure


// 同学A
func f1(N int) int {
	ans := 0
	for i:=1; i<=N; i++ {
		ans += factorial(i)
	}
	return ans
}

func factorial(num int) int {
	ans := 1
	for i:=1; i<=num; i++ {
		ans *= i
	}
	return ans
}

// 同学B
func f2(N int) int {
	cur := 1
	ans := 0
	for i:=1; i<=N; i++ {
		cur = cur*i
		ans += cur
	}
	return ans
}